s = 0
'''
列表的排序
1、列表对象的sort方法
lst.sort(key=None,reverse=Fasle)方法，对列表lst中的元素进行排序，默认是升序排序，该方法没有返回值，会直接修改原列表
key:表示排序规则
reverse：表示是否降序排序，默认是False，表示升序排序

2、内置函数sorted()
sorted(iterable,key=None,reverse=False)函数，对可迭代对象iterable中的元素进行排序，返回一个新的列表，不会修改原列表
iterable:被排序的对象
key:表示排序规则
reverse：表示是否降序排序，默认是False，表示升序排序
'''

# 数字排序
lst = [29, 78, 33, 54, 79, 100, 88]
print("原列表：", lst)
#   默认排序是升序
lst.sort()  # 修改原列表，不会产生新列表，内存地址不变
print("排序后：", lst)

# 排序,降序
lst.sort(reverse=True)
print("降序排序后：", lst)

print('-' * 40)
# 大小写排序
lst2 = ['banana', 'Apple', 'apple', 'cat', 'orange', 'Orange']
print("原列表：", lst2)
#  默认排序是升序，先拍大写，再排小写 ，即ASCII码值 ，比如Apple的A字母ASCII码值是65，apple的a字母ASCII码值是97，相差32
lst2.sort()
print("升序排序后列表：", lst2)

# 降序排列，先排小写，再排大写
lst2.sort(reverse=True)
print("降序排序后列表：", lst2)

# 自定义排序规则
# 忽略大小写排序
lst2.sort(key=str.lower)  # 参数lower不加括号，调用才加
print("忽略大小写排序后列表：", lst2)


